在這 30 天裡面,我們增加維護性的手法事實上可以分三大類,如下圖 :
這個基本上都是老身長談了,但是矛盾的點在於每個人的理解幾乎都不能算相同,所以這裡比較是去看各種書籍中寫的,然後最後在整合成我自已理解的版本,但就參考吧。
但會把設計原則放在前面是因為,後面幾乎每個實務上面對的東西,最後事實上都和設計原則惜惜相關,所以這東西還是要理解呢。
但事實上還有一些小原則我沒說,但是我也覺得很重要的,就在這裡補充一下。
這裡大部份比較專注在這個層級,雖然影響範圍沒有像架構一樣那麼大,但積少成多,如果你架構已經穩了,那你只要這些地方處理好,那你的系統在維護面上,我覺得一定可以說好 ~
這些比較拉回來實務面時 code review 會看的一些地方。
但我覺得這裡面最難的地方在於三點 :
至於要如何解 ~ 我也還不知道呢 ~
這裡比較偏向這個位置,這一塊比較算是設計模式那一塊,但量級比架構面還小一點,不會像架構要一堆東西一起用之類的,然後有很大一部份都是 Design Pattern 但因為寫的人太多了,所以這裡我只寫一些我覺得比較少出現,但是又非常重要的部份。
然後這裡列一些我覺得寫的很棒的設計模式鐵人賽的文章與網路文章 :
這裡我事實上是以 Domain-Driven Design 為主軸,目前我覺得他應該是公認解決業務複雜變化的一種架構思想,而且他基本上也只是站在前人例如 OOAD、Domain Model 等肩膀上產生出來的,因此我這裡花了很多篇文章在談它的事情。
這裡有點多簡單分類一下,首先是最多的 Domain-Driven Design。
和其它。
最後的部份就是指標,因為自從當了 tech leader 後,我發現一個好的指標真的可以幫助一個團隊努力往前,例如你看到你的 duplicate code 比例,或是每個 sprint 產的 bug 量有下降,真的會讓人感覺有在前進的 fu,這也是為什麼我這次會花幾篇文章來探討這個主題的原因之一。
希望這一系統的文章可以讓在探索維護性
這條路的朋朋們 ~ 有個簡單的地圖 ~ 總於完賽了…… 順到說一下我們家的品質很爛,別覺得我在這裡就好,但我們我自已覺得不是工程師的能力問題 ~ 很大的原因是公司整個團隊結構與流程沒有考慮品質這一塊,但也不是說誰對誰錯 ~ 而就只是優先度的問題 ~ 希望接下來能有更多的時間來聊聊這一塊的心得 ~ 完賽 !!!!!!!